// package: rewords-server-2024
// filename: model
// author: diogoxiang@gmail.com
// time: 2024/7/12 下午2:55

package model

import "github.com/gogf/gf/v2/frame/g"

// Context 请求上下文结构
type Context struct {
	Module     string    // 应用模块 admin｜api｜home｜websocket
	AddonName  string    // 插件名称 如果不是插件模块请求，可能为空
	TakeUpTime int64     // 请求耗时 ms
	User       *Identity // 上下文用户信息
	Response   *Response // 请求响应
	Data       g.Map     // 自定kv变量 业务模块根据需要设置，不固定
}

// Identity 通用身份模型
type Identity struct {
	Uid      int64  `json:"uid"             description:"用户uid"`
	Role     string `json:"role"         description:"角色唯一标识符"`
	Username string `json:"username"        description:"用户名"`
	Nickname string `json:"nickname"        description:"昵称"`
	Status   int    `json:"status"          description:"状态"`
	Openid   string `json:"openid"          description:"第三方登录唯一标识"`
	UnionId  string `json:"unionid"         description:"第三方登录唯一标识"`
	Points   int64  `json:"points" 		description:"积分"`
	Avatar   string `json:"avatar"          description:"头像"`
	Email    string `json:"email"           description:"邮箱"`
	Phone    string `json:"phone"          description:"手机号码"`
	Level    int64  `json:"level"` // 等级
	Exp      int64  `json:"exp"             description:"登录有效期截止时间戳"`
	Expires  int64  `json:"expires"         description:"登录有效期"`
	App      string `json:"app"             description:"登录应用"`
}
